#include <stdio.h>
#include <stdlib.h>

#define SIZE	100

typedef struct{
	int* data;
	int	length;
}List;

int List_Init(List* L)
{
	L->data =(int*)malloc(sizeof(int)*SIZE);
	if(!L->data)	exit(-2);
	L->length =0;
	return 1;
}

int ListInsert(List* L,int i,int value)
{
	int j;
	if(i<1||i>L->length+1)	return -1;
	if(L->length>SIZE)		return -1;
	for(j =L->length-1;j>=i-1;j--)
		L->data[j+1] =L->data[j];
	L->data[i-1] =value;
	L->length++;
	return 1;
}

void Input(List* L,int n)
{
	int i;
	for(i =0;i<n;i++)
		scanf_s("%d",&L->data[i]);
}

void Output(List* L)
{
	int i;
	for(i =0;i<L->length;i++)
		printf("%d ",L->data[i]);
	printf("\n");
}

int main(void)
{
	List list;
	List_Init(&list);
	scanf_s("%d",&list.length);
	Input(&list,list.length);
	Output(&list);
	ListInsert(&list,3,50);
	Output(&list);
	while(1);
	return 0;
}